home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 1.iso / games / worm.zip / WORMTOP.C < prev   
C/C++ Source or Header  |  1992-09-21  |  2KB  |  66 lines

  1.  
  2. #include "worm.h"
  3.  
  4. extern RING* rP;
  5. HWND hMainWindow = 0;
  6.  
  7. /* ---------------------------------------------------------------------------- */
  8. long FAR PASCAL WormWndProc(HWND hWnd, unsigned message, WORD wParam, LONG lParam)
  9. {
  10. FARPROC lpProcAbout;
  11. HMENU hMenu;
  12.  
  13. switch(message)
  14.     {
  15.  
  16.     case WM_TIMER:
  17.          WormUpdate();
  18.          break;
  19.  
  20.     case WM_SIZE:
  21.          InvalidateRect(hWnd, NULL, TRUE);
  22.          break;
  23.  
  24.     case WM_SYSCOMMAND:
  25.          switch(wParam) {
  26.  
  27.             case IDM_ABOUT:
  28.                  CreateDialogBox(hWnd, AboutDlgProc, IDD_ABOUT);
  29.                  break;
  30.  
  31.             case IDM_OPTIONS:
  32.                  CreateDialogBox(hWnd, OptionsDlgProc, IDD_OPTIONS);
  33.                  break;
  34.  
  35.             default:
  36.                  return(DefWindowProc(hWnd, message, wParam, lParam));
  37.         } /* switch(wParam) */
  38.         break;
  39.  
  40.     case WM_CREATE:
  41.          hMainWindow = hWnd;
  42.          InitGlobalDataFromIniFile();
  43.          hMenu = GetSystemMenu(hWnd, FALSE);
  44.          ChangeMenu(hMenu, NULL, NULL, NULL, MF_APPEND | MF_SEPARATOR);
  45.          ChangeMenu(hMenu, NULL, "A&bout Worm...", IDM_ABOUT, MF_APPEND | MF_STRING);
  46.          ChangeMenu(hMenu, NULL, NULL, NULL, MF_APPEND | MF_SEPARATOR);
  47.          ChangeMenu(hMenu, NULL, "Options", IDM_OPTIONS, MF_APPEND | MF_STRING);
  48.          break;
  49.  
  50.     case WM_QUERYOPEN:
  51.          return 0L;
  52.  
  53.     case WM_DESTROY:
  54.          CleanUp();
  55.          FreeWormList();
  56.          KillTimer(hWnd, NULL);
  57.          PostQuitMessage(0);
  58.         break;
  59.     default:
  60.         return (DefWindowProc(hWnd, message, wParam, lParam));
  61.     }
  62. return(NULL);
  63. }
  64.  
  65.  
  66. /* EOF */